package com.tywj.panda.customer.common.application

import android.widget.ImageView
import com.tywj.panda.customer.common.tool.CacheTool
import com.tywj.panda.customer.common.tool.HttpTool
import com.tywj.lib.core.common.application.LibApplication
import com.tywj.lib.core.common.glide.GlideApp
import com.tywj.lib.core.common.util.LogUtil
import com.tywj.lib.route.RouteUtil
import com.yanzhenjie.album.Album
import com.yanzhenjie.album.AlbumConfig
import com.yanzhenjie.album.AlbumFile
import com.yanzhenjie.album.AlbumLoader

/**
 * @desc 组件Application，组件自己使用的application（只针对开发阶段）
 * @author June Yang
 * @date 2020/6/5
 */
class ComponentApplication : LibApplication() {

    override fun isRelease(): Boolean {
        initDevConfig()
        return super.isRelease()
    }

    private fun initDevConfig() {
        // 初始化日志框架
        LogUtil.init()

        // 初始化路由框架
        RouteUtil.init(this, true)

        // 初始化网络请求框架
        HttpTool.debugConfig(this)


        // 初始化Album
        Album.initialize(
            AlbumConfig.newBuilder(this)
                .setAlbumLoader(object : AlbumLoader {
                    override fun load(imageView: ImageView, albumFile: AlbumFile) {
                        load(imageView, albumFile.path)
                    }

                    override fun load(imageView: ImageView, url: String) {
                        GlideApp.with(imageView.context)
                            .load(url)
                            .into(imageView)
                    }

                })
                .build()
        )

        // 初始化缓存框架
        CacheTool.initCache()
    }
}